Die Interface-Unit „@Python“ ermöglicht das Ausführen von Python-Code direkt aus EbsScript heraus. Es können sowohl Code direkt als auch Python-Dateien (*.py) ausgeführt werden. Zum Verwenden der Schnittstelle muss
Während der Ausführung eines EbsScripts bleibt das globale Dictionary von Python erhalten, d.h. mehrere hintereinander ausgeführte Aufrufe an Python können z.B. Python-Variablen anlegen und anschließend auslesen.
ACHTUNG: Nach der Beendigung eines EbsScripts wird das globale Python-Dictionary gelöscht. Ein Zugriff auf Variablen auseinem vorhergehenden EbsScript-Laufes ist damit über das Dictionary nicht möglich (kann z.B. mittels „Python-pickling“ erreicht werden).
function pyEvaluate(expression:string):variant; internal;
Evaluiert „expression” und gibt das Ergebnis zurück.
procedure pyExecute(expression:string); internal;
Führt den Code in „expression” aus.
procedure pyExecuteFile(file:string); internal;
Führt den in „file” enthaltenen Code aus.
function pyGetVariable(name:String):variant; internal;
Gibt den Wert der globalen Variablen „name“ (d.h. Element des globalen Dictionary) zurück.
procedure pySetVariable(name:String; const value:variant); internal;
Setzt den Wert der globalen Variablen „name“.
function pyLoadInterpreter():boolean; internal;
Lade explicit den Python-Interpreter; Ergebnis ist true, wenn der Interpreter geladen werden konnte (oder bereits geladen wurde) Hinweis: Das explizite Laden des Python-Interpreters ist nicht notwendig.
function pyUnloadInterpreter():boolean; internal;
Entlädt den Python-Interpreter; Ergebnis ist true, wenn der Interpreter erfolgreich entladen werden konnte (oder nicht geladen wurde).
function pyIsInterpreterLoaded():boolean; internal;
Teste, ob der Python-Interpreter geladen ist; Ergebnis ist true, wenn der Interpreter geladen ist.
procedure pySetFullyQualifiedLogfileName(path:string); internal;
Den vollständig qualifizierten Pfad der Protokolldatei festlegen.
function pyGetFullyQualifiedLogfileName():string; internal;
Den vollständig qualifizierten Pfad der Protokolldatei ermitteln.
procedure pyEnableLogging(enable:boolean = true); internal;
Protokollierung aktivieren/deaktivieren
function pyIsLoggingEnabled():boolean; internal;
Gibt true zurück, wenn die Protokollierung aktiviert ist.